#ifndef APP_SHAPE_HPP_
#define APP_SHAPE_HPP_

#include <aerMesh.hpp>

///
/// Defines raw shapes (no normals or UVs)
///


class SphereRaw : public aer::Mesh
{
  
  public:
    void init(const float radius, const unsigned int resolution);
};

class Dome : public aer::Mesh
{
  
  public:
    void init(const float radius, const unsigned int resolution);
};

class Disc : public aer::Mesh
{
  public:
    void init(const float radius, const unsigned int resolution);
};

class CubeRaw : public aer::Mesh
{
  public:
    void init(const float side);
};

class Cube : public aer::Mesh
{
  public:
    void init(const float side);
};

class Plane : public aer::Mesh
{
  
  public:
    void init(const float width, const float height,
              const unsigned int resolution);
};


#endif //APP_SHAPE_HPP_
